#include <malloc.h>
#include <stdlib.h>
#include <stdio.h>

#include "score.h"


void scCompte(Contrat contrat_actu,Joueur nord,Joueur sud,Joueur est,Joueur ouest,Score *score)
{
    bool victoire;

    victoire = coVerif(contrat_actu,sud,nord);

    if (victoire == 1)
    {
        score->score_equipe1 = score->score_equipe1 + contrat_actu.valeur_contrat + sud.point + nord.point;
        score->score_equipe2 = score->score_equipe2 +  est.point + ouest.point;
    }
    else
    {
        score->score_equipe2 = score->score_equipe2 + contrat_actu.valeur_contrat + 160;
    }

}

void scAjoute_Annonce(Score *score,Joueur nord,Joueur sud,Joueur est,Joueur ouest)
{
    int val1=0,val2=0,val3=0,val4=0,num1=0,num2=0,num3=0,num4=0;
    if(anVerif_Belote(nord)==1)
    {
        score->score_equipe1 = score->score_equipe1 + 20;
    }
    else if(anVerif_Belote(sud)==1)
    {
        score->score_equipe1 = score->score_equipe1 + 20;
    }
    else if(anVerif_Belote(est)==1)
    {
        score->score_equipe2 = score->score_equipe2 + 20;
    }
    else if(anVerif_Belote(ouest)==1)
    {
        score->score_equipe2 = score->score_equipe2 + 20;
    }

    num1 = anEtude_Tierce(sud);
    if(num1 != 0)
    {
        val1= 20;
        if(anEtude_Double_Tierce(sud) != 0)
        {
            num1 = anEtude_Double_Tierce(sud);
            val1 = 40;

            if(anEtude_50(sud) != 0)
            {
                num1 = anEtude_50(sud);
                val1 = 50;

                if(anEtude_50_Tierce(sud) != 0)
                {
                    num1 = anEtude_50_Tierce(sud);
                    val1 = 70;

                    if(anEtude_Double_50(sud) != 0)
                    {
                        num1 = anEtude_Double_50(sud);
                        val1 = 100;

                        if(anEtude_100(sud) != 0)
                        {
                            num1 = anEtude_100(sud);

                            if(anEtude_100_Tierce(sud) != 0)
                            {
                                num1 = anEtude_100_Tierce(sud);
                                val1 = 120;
                            }
                        }
                    }
                }
            }
        }
    }
    if(anEtude_Carre(sud) != 0)
    {
        num1 = anEtude_Carre(sud);
        val1 = 100;

        if(anEtude_Carre_Tierce(sud) != 0)
        {
            num1 = anEtude_Carre_Tierce(sud);
            val1 = 120;

            if(anEtude_Carre_50(sud) != 0)
            {
                num1 = anEtude_Carre_50(sud);
                val1 = 150;
            }
        }
        else if(anEtude_Double_Carre(sud,num1) != 0)
        {
            num1 = anEtude_Double_Carre(sud,num1);
            val1 = 200;
        }
    }


    num2 = anEtude_Tierce(nord);
    if(num2 != 0)
    {
        val2= 20;
        if(anEtude_Double_Tierce(nord) != 0)
        {
            num2 = anEtude_Double_Tierce(nord);
            val2 = 40;

            if(anEtude_50(nord) != 0)
            {
                num2 = anEtude_50(nord);
                val2 = 50;

                if(anEtude_50_Tierce(nord) != 0)
                {
                    num2 = anEtude_50_Tierce(nord);
                    val2 = 70;

                    if(anEtude_Double_50(nord) != 0)
                    {
                        num2 = anEtude_Double_50(nord);
                        val2 = 100;

                        if(anEtude_100(nord) != 0)
                        {
                            num2 = anEtude_100(nord);

                            if(anEtude_100_Tierce(nord) != 0)
                            {
                                num2 = anEtude_100_Tierce(nord);
                                val2 = 120;
                            }
                        }
                    }
                }
            }
        }
    }
    if(anEtude_Carre(nord) != 0)
    {
        num2 = anEtude_Carre(nord);
        val2 = 100;

        if(anEtude_Carre_Tierce(nord) != 0)
        {
            num2 = anEtude_Carre_Tierce(nord);
            val2= 120;

            if(anEtude_Carre_50(nord) != 0)
            {
                num2 = anEtude_Carre_50(nord);
                val2 = 150;
            }
        }
        else if(anEtude_Double_Carre(nord,num2) != 0)
        {
            num2 = anEtude_Double_Carre(nord,num2);
            val2 = 200;
        }
    }

    num3 = anEtude_Tierce(est);
    if(num3 != 0)
    {
        val3= 20;
        if(anEtude_Double_Tierce(est) != 0)
        {
            num3 = anEtude_Double_Tierce(est);
            val3 = 40;

            if(anEtude_50(est) != 0)
            {
                num3 = anEtude_50(est);
                val3 = 50;

                if(anEtude_50_Tierce(est) != 0)
                {
                    num3 = anEtude_50_Tierce(est);
                    val3 = 70;

                    if(anEtude_Double_50(est) != 0)
                    {
                        num3 = anEtude_Double_50(est);
                        val3 = 100;

                        if(anEtude_100(est) != 0)
                        {
                            num3 = anEtude_100(est);

                            if(anEtude_100_Tierce(est) != 0)
                            {
                                num3 = anEtude_100_Tierce(est);
                                val3 = 120;
                            }
                        }
                    }
                }
            }
        }
    }
    if(anEtude_Carre(est) != 0)
    {
        num3 = anEtude_Carre(est);
        val3 = 100;

        if(anEtude_Carre_Tierce(est) != 0)
        {
            num3 = anEtude_Carre_Tierce(est);
            val3 = 120;

            if(anEtude_Carre_50(est) != 0)
            {
                num3 = anEtude_Carre_50(est);
                val3 = 150;
            }
        }
        else if(anEtude_Double_Carre(est,num3) != 0)
        {
            num3 = anEtude_Double_Carre(est,num3);
            val3 = 200;
        }
    }


    num4 = anEtude_Tierce(ouest);
    if(num4 != 0)
    {
        val4= 20;
        if(anEtude_Double_Tierce(ouest) != 0)
        {
            num4 = anEtude_Double_Tierce(ouest);
            val4 = 40;

            if(anEtude_50(ouest) != 0)
            {
                num4 = anEtude_50(ouest);
                val4 = 50;

                if(anEtude_50_Tierce(ouest) != 0)
                {
                    num4 = anEtude_50_Tierce(ouest);
                    val4 = 70;

                    if(anEtude_Double_50(ouest) != 0)
                    {
                        num4 = anEtude_Double_50(ouest);
                        val4 = 100;

                        if(anEtude_100(ouest) != 0)
                        {
                            num4 = anEtude_100(ouest);

                            if(anEtude_100_Tierce(ouest) != 0)
                            {
                                num4 = anEtude_100_Tierce(ouest);
                                val4 = 120;
                            }
                        }
                    }
                }
            }
        }
    }
    if(anEtude_Carre(ouest) != 0)
    {
        num4 = anEtude_Carre(ouest);
        val4 = 100;

        if(anEtude_Carre_Tierce(ouest) != 0)
        {
            num4 = anEtude_Carre_Tierce(ouest);
            val4= 120;

            if(anEtude_Carre_50(ouest) != 0)
            {
                num4 = anEtude_Carre_50(ouest);
                val4 = 150;
            }
        }
        else if(anEtude_Double_Carre(ouest,num4) != 0)
        {
            num4 = anEtude_Double_Carre(ouest,num4);
            val4 = 200;
        }
    }

    if(((val1>val3)&&(val1>val4))||((val2>val3)&&(val2>val4)))
    {
        score->score_equipe1 = score->score_equipe1 + val1 + val2;
    }
    else if(((val3>val1)&&(val3>val2))||((val4>val1)&&(val4>val2)))
    {
        score->score_equipe2 = score->score_equipe2 + val3 + val4;
    }
    else if(((val1>val2)&&(val3>val4)&&(val1 == val3))||
            ((val1>val2)&&(val4>val3)&&(val1 == val4))||((val1<val2)&&(val3>val4)&&(val2 == val3))
            ||((val1<val2)&&(val3<val4)&&(val2 == val4)))
    {
        if(((num1>num3)&&(num1>num4))||((num2>num3)&&(num2>num4)))
        {
            score->score_equipe1 = score->score_equipe1 + val1 + val2;
        }
        else if(((num3>num1)&&(num3>num2))||((num4>num1)&&(num4>num2)))
        {
            score->score_equipe2 = score->score_equipe2 + val3 + val4;
        }
    }
}
